Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Good software



  Can Your Programming Language Do This?

One day, you're browsing through your code, and you notice two big blocks that look almost exactly the same. In fact, they're exactly the same, except that one block refers to "Spaghetti" and one block refers to "Chocolate Moose." // A trivial example: alert("I'd like some Spaghetti!"); alert("I'd like some Chocolate Moose!"); These examples happen to be in JavaScript, but even if you don't know JavaScript, you should be able to follow along. The repeated code looks wrong, ...

   Programming,Maintainability,Reusable     2011-05-31 07:42:41

  When to use STDERR instead of STDOUT

Every process is initialized with three open file descriptors, stdin, stdout, and stderr. stdin is an abstraction for accepting input (from the keyboard or from pipes) and stdout is an abstraction for giving output (to a file, to a pipe, to a console). That's a very simplified explanation but true nonetheless. Those three file descriptors are collectively called 'The Standard Streams'. Where does stderr come from? It's fairly straightforward to understand why stdin and stdout exist, however ...

   UNIX,STDERR,STDOUT,Difference     2012-01-14 12:07:43

  SOME LESSONS LEARNED

Note: Google was kind enough to invite me to give a short talk at their Zeitgeist conference earlier this week. It was a really interesting conference and I got a chance to meet a lot of people I admire. For my talk, I decided to use material from some of my blog posts over the years that I thought might appeal to a broader audience. Unfortunately, I was still recovering from a nastly cold/flu so I didn’t deliver the talk as well as I’d like.  Below is the text.Today, I wanted...

   Investor,Startup,Lesson,Experience,Investment     2011-10-12 11:47:02

  Why I switched from Ruby back to C++

After two months of Sol Trader development in Ruby, I took a difficult decision last Wednesday morning: I’ve decided to rewrite the game code from scratch in C++. Let me explain my reasons. If you'd like to receive announcements about Sol Trader or be part of the beta program, sign up at soltrader.net. Why I did it Slow frames: When working with Ruby, I use the excellent Gosu library to do all my game specific coding. This initially worked great, but occasionally I’d just...

   C++,Ruby,Advantage,Feature     2012-01-09 08:56:21

  Circumventing browser connection limits for fun and profit

A few days ago, this video hosted by metacafe popped up on digg, explaining how to increase site download times by tweaking your browser settings to increase connection parallelism. To explain why this works, let’s step back a bit to discuss how browsers manage server connections. In building any application, developers are often required to make ‘utilitarian’ choices. Pretentiously paraphrasing Jeremy Bentham, ‘utilitarian’ describes an approach that â...

   HTTP,Concurrent connection limit,Solution,AJAX     2011-12-14 13:01:02

  Writing forward-compatible websites

This is a list of best practices for creating websites that do not break when browsers are updated. It's not always possible to follow all of these, but following as many of them as possible will help future-proof your website. This is especially important for intranet applications and other non-public websites where problems are likely to not be noticed during testing by browser vendors.JavaScriptPrefix all global variable access in onfoo attributes with “window.”When an e...

   Web design,Forward compatible,CSS,JavaScript,window     2011-11-23 08:07:35

  How to Think Creatively

I grew up hungry to do something creative, to set myself apart. I also believed creativity was magical and genetically encoded. As early as the age of 8, I began sampling the arts, one after another, to see if I'd inherited some gift.Eventually, I became a journalist. For many years, I told other people's stories. I was successful, but I rarely felt truly creative.The first hint I might have sold myself short came in the mid-1990s. In the course of writing a book called What Really Matters, Sear...

   Creative thinking,Saturation,Incubation,Illumination,Verification     2011-11-14 08:39:11

  How to play with cross domain request

What is cross domain request In simple, cross domain request is to request resource from other domain in one domain. Note, the "other domain" doesn't just mean domain name only, it includes much more. If the protocol, domain name, port is not the same, two domains will be considered different.  Below example describes what is considered as different domain. http://www.a.com/a.jshttp://www.a.com/b.js               # Same domainhttp://www.a.com/lab/a.js &nb...

   FRONT END,JSONP,CROSS DOMAIN,CROSS ORIGIN,CORS,DOCUMENT.DOMAIN,WINDOW.NAME     2016-11-06 00:48:54

  40+ Techniques to enhance your php code

1. Do not use relative paths , instead define a ROOT path Its quite common to see such lines : 1require_once('../../lib/some_class.php'); This approach has many drawbacks : It first searches for directories specified in the include paths of php , then looks from the current directory. So many directories are checked. When a script is included by another script in a different directory , its base directory changes to that of the including script. Another issue , is that when a script is being ru...

   PHP,Quirk,Trick,Efficiency,Techniques     2012-04-10 13:06:55

  7 ways to start learning how to code right now for free

Learning to code is one of the most powerful and satisfying things you can ever do. If you’re a designer, learning to code can help you understand what you’re creating for, and if you’re looking to build a startup from scratch, being a technical founder can make things exponentially easier for you. No matter why you want learn, the only thing you really need is curiosity. But if you’re just starting out as a novice and don’t know where to begin,...

   Learn programming,Efficient way,Experiment,iPad     2012-02-03 08:11:21